<?php
require('config.php');

//aseguramos que sea correcto
if (!isset($_GET['id']) || !preg_match('/^[0-9a-fA-F]{32}$/', $_GET['id'])) {
    die('error: el dato de entrada no es una id o no existe');
}

//Conectamos con la base de datos
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('MySQL error: ' . mysql_error());
mysql_select_db(DB_NAME) or die('MySQL error: Unable to select database');

//El dato es seguro por le regexp /^[0-9a-fA-F]{32}$/
$user_id = $_GET['id'];
$today = date('Y-m-d');
//Obtenemos la fecha actual

//query id + fecha
$result = mysql_query("SELECT * FROM stats WHERE user_id='$user_id' AND date='$today'") or die('MySQLError: invalid query (select)');

$query = '';
//si existe: incrementamos (nos interesa saber las bajadas diarias del script por cuenta)
if (mysql_num_rows($result)) {
    $query = "UPDATE stats SET counter=counter+1 WHERE user_id='$user_id' AND date='$today'";
}
//si no existe: insertar (insert into)
else {
    $query = "INSERT INTO stats (user_id, date, counter) VALUES ('$user_id', '$today', 1)";
}

mysql_query($query) or die('MySQLError: invalid query (update)');

mysql_close($con);

//evitamos la cache
header("Expires: Tue, 01 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>